import request from "@/utils/request";

// 获取系统配置
export function getSystemConfig() {
  return request({
    url: "/api/system/SysConfig",
    method: "GET",
  });
}
// 获取系统基础配置;其中包含系统名称，图标等基础配置
export function getSystemBaseConfig() {
  return request({
    url: "/api/system/SysConfig/getSystemBaseConfig",
    method: "GET",
  });
}
// 更新系统配置
export function updateSystemConfig(data) {
  return request({
    url: "/api/system/SysConfig",
    method: "PUT",
    data,
  });
}

// 更新系统配置
export function saveByKeyName(data) {
  return request({
    url: "/api/system/SysConfig/saveByKeyName",
    method: "PUT",
    data,
  });
}

// 根据key查询
export function getConfigByKeyName(data) {
  return request({
    url: `/api/system/SysConfig/getConfigByKeyName/${data}`,
    method: "GET",
    data,
  });
}
// 根据分类查询
export function getConfigListByCategory(data) {
  return request({
    url: `/api/system/SysConfig/getConfigListByCategory/${data}`,
    method: "GET",
    data,
  });
}
// 邮箱连接测试
export function testEmail(data) {
  return request({
    url: "/api/system/SysConfig/Email/Test",
    method: "POST",
    data,
  });
}
// 测试企业微信配置的连接
export function testQy(data, type) {
  return request({
    url: `/api/system/SysConfig/${type}/testQyWebChatConnect`,
    method: "POST",
    data,
  });
}
// 测试企业微信配置的连接
export function testDing(data) {
  return request({
    url: "/api/system/SysConfig/testDingTalkConnect",
    method: "POST",
    data,
  });
}
// 获取第三方(如：企业微信、钉钉)的组织与用户同步统计信息
// thirdType: 1-企业微信; 2-钉钉
export function getSynThirdTotal(thirdType) {
  return request({
    url: `/api/system/SynThirdInfo/getSynThirdTotal/${thirdType}`,
    method: "GET",
  });
}
// // 本地所有组织信息(包含公司和部门)同步到钉钉
// export function synAllOrganizeSysToDing(data) {
//   return request({
//     url: '/api/system/SynThirdInfo/synAllOrganizeSysToDing',
//     method: 'POST',
//     data
//   })
// }
// // 本地所有用户信息同步到钉钉
// export function synAllUserSysToDing(data) {
//   return request({
//     url: '/api/system/SynThirdInfo/synAllUserSysToDing',
//     method: 'POST',
//     data
//   })
// }
// // 本地所有组织信息(包含公司和部门)同步到企业微信
// export function synAllOrganizeSysToQy(data) {
//   return request({
//     url: '/api/system/SynThirdInfo/synAllOrganizeSysToQy',
//     method: 'POST',
//     data
//   })
// }
// // 本地所有用户信息同步到企业微信
// export function synAllUserSysToQy() {
//   return request({
//     url: '/api/system/SynThirdInfo/synAllUserSysToQy',
//     method: 'GET'
//   })
// }

// // 企业微信同步到本地所有部门信息
// export function synQyToAllOrganizeSys(data) {
//   return request({
//     url: '/api/system/SynThirdInfo/synQyToAllOrganizeSys',
//     method: 'POST',
//     data
//   })
// }

// // 钉钉同步到本地所有部门信息
// export function synDingToAllOrganizeSys(data) {
//   return request({
//     url: '/api/system/SynThirdInfo/synDingToAllOrganizeSys',
//     method: 'POST',
//     data
//   })
// }

// // 钉钉同步到本地所有用户
// export function synDingToAllUserSys(data) {
//   return request({
//     url: '/api/system/SynThirdInfo/synDingToAllUserSys',
//     method: 'POST',
//     data
//   })
// }
// // 企业微信同步到本地所有用户信息
// export function synQyToAllUserSys(data) {
//   return request({
//     url: '/api/system/SynThirdInfo/synQyToAllUserSys',
//     method: 'POST',
//     data
//   })
// }

// // 企业微信互联企业部门同步到本地
// export function synQyToAllLinkedCorp() {
//   return request({
//     url: '/api/system/SynThirdInfo/synQyToAllLinkedCorp',
//     method: 'GET'
//   })
// }

// // 企业微信互联企业人员同步到本地
// export function synQyLinkedToAllUserSys() {
//   return request({
//     url: '/api/system/SynThirdInfo/synQyLinkedToAllUserSys',
//     method: 'GET'
//   })
// }

// 获取第三方企业微信的组织与用户同步统计信息
export function getWxCpSynThirdInfoTotal(corpId, agentId) {
  return request({
    url: `/api/external/corp/${corpId}/${agentId}/getWxCpSynThirdInfoTotal`,
    method: "GET",
  });
}

// 获取本地部门列表推送push到企业微信
export function synAllOrgSysToQyWX(corpId, agentId) {
  return request({
    url: `/api/external/corp/${corpId}/${agentId}/department/pushBatch`,
    method: "GET",
  });
}

// 获取本地用户列表推送push到企业微信
export function synAllUserSysToQyWX(corpId, agentId) {
  return request({
    url: `/api/external/corp/${corpId}/${agentId}/user/pushBatch`,
    method: "GET",
  });
}

// 企业微信通讯录部门拉取到本地
export function qyWXCorpDeptList(corpId, agentId) {
  return request({
    url: `/api/external/corp/${corpId}/${agentId}/department/deptList`,
    method: "GET",
  });
}

// 企业微信通讯录成员拉取到本地
export function qyWXCorpUserList(corpId, agentId) {
  return request({
    url: `/api/external/corp/${corpId}/${agentId}/user/userList`,
    method: "GET",
  });
}

// 互联企业组织部门拉取到本地
export function linkedCorpDepartmentList(corpId, agentId) {
  return request({
    url: `/api/external/linkedCorp/${corpId}/${agentId}/department/list`,
    method: "GET",
  });
}

// 互联企业组织部门成员拉取到本地
export function linkedCorpUserList(corpId, agentId) {
  return request({
    url: `/api/external/linkedCorp/${corpId}/${agentId}/user/list`,
    method: "GET",
  });
}

// 获取系统管理员
export function getAdminList() {
  return request({
    url: "api/system/SysConfig/getAdminList",
    method: "GET",
  });
}
// 设置系统管理员
export function setAdminList(adminIds) {
  return request({
    url: "api/system/SysConfig/setAdminList",
    method: "PUT",
    data: { adminIds },
  });
}
